bitkeeper revision 1.1748.1.3 (42bbd472VxKIpvOzuAFDfVAi9gXwDA)
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 24 Jun 2005 09:37:54 +0000 (09:37 +0000)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 24 Jun 2005 09:37:54 +0000 (09:37 +0000)
With this patch, now x86_64 domU is fully up!

We are running LTP there now.

Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>
Signed-off-by: Xin B Li <xin.b.li@intel.com>
linux-2.6.11-xen-sparse/drivers/xen/blkback/interface.c
linux-2.6.11-xen-sparse/drivers/xen/netback/interface.c
linux-2.6.11-xen-sparse/drivers/xen/usbback/interface.c
linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c
xen/common/grant_table.c

index 46d55d1fd484b6bac6594b237cf6639a0eaa8866..f6bf04fe5ba6957061b1cce6449441e92588ad3a 100644 (file)
@@ -174,7 +174,7 @@ void blkif_connect(blkif_be_connect_t *connect)
         return;
     }
 
-    prot = __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_ACCESSED);
+    prot = __pgprot(_KERNPG_TABLE);
     error = direct_remap_area_pages(&init_mm, VMALLOC_VMADDR(vma->addr),
                                     shmem_frame<<PAGE_SHIFT, PAGE_SIZE,
                                     prot, domid);
index 98c6cfa98b2e7e002ffe71515751952c4dd09c41..e7d918124d77e5328331a49808bee37d389b4bc5 100644 (file)
@@ -300,7 +300,7 @@ void netif_connect(netif_be_connect_t *connect)
         return;
     }
 
-    prot = __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_ACCESSED);
+    prot = __pgprot(_KERNPG_TABLE);
     error  = direct_remap_area_pages(&init_mm, 
                                      VMALLOC_VMADDR(vma->addr),
                                      tx_shmem_frame<<PAGE_SHIFT, PAGE_SIZE,
index c1a16e800080730608114657566668913f328089..edca62bba5d121f963eae99aba6669f40fde38c8 100644 (file)
@@ -170,7 +170,7 @@ void usbif_connect(usbif_be_connect_t *connect)
         return;
     }
 
-    prot = __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_ACCESSED);
+    prot = __pgprot(_KERNPG_TABLE);
     error = direct_remap_area_pages(&init_mm, VMALLOC_VMADDR(vma->addr),
                                     shmem_frame<<PAGE_SHIFT, PAGE_SIZE,
                                     prot, domid);
index 0a4cf8b4eab630256e1e3b920f459e6269888a2f..ac73bd0f2fde8c23aad797045e731973af0262bb 100644 (file)
@@ -646,7 +646,7 @@ static void dispatch_usb_io(usbif_priv_t *up, usbif_request_t *req)
     ASSERT(buffer_mach);
 
     /* Always map writeable for now. */
-    remap_prot = _PAGE_PRESENT|_PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_RW;
+    remap_prot = _KERNPG_TABLE;
 
     for ( i = 0, offset = 0; offset < req->length;
           i++, offset += PAGE_SIZE )
index 9e7b7223e942f4c98cb2a8e5550af05b0bf29bd6..2afdbca0bf0cdc01dbf1633d0a2acf40841e92ba 100644 (file)
@@ -258,7 +258,11 @@ __gnttab_activate_grant_ref(
     {
         /* Write update into the pagetable. */
         l1_pgentry_t pte;
-        pte = l1e_from_pfn(frame, _PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_DIRTY);
+        pte = l1e_from_pfn(frame, _PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_DIRTY
+#if defined(__x86_64__)
+            | _PAGE_USER               
+#endif
+            );
         if ( !(dev_hst_ro_flags & GNTMAP_readonly) )
             l1e_add_flags(pte,_PAGE_RW);
         rc = update_grant_va_mapping( host_virt_addr, pte,